/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.pruebaes.entidades;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;

/**
 *
 * @author luisfernando
 */
@Entity
@Table(name = "locales")
@XmlRootElement
@NamedQueries({
    @NamedQuery(name = "Locales.findAll", query = "SELECT l FROM Locales l"),
    @NamedQuery(name = "Locales.findById", query = "SELECT l FROM Locales l WHERE l.id = :id"),
    @NamedQuery(name = "Locales.findByPrimaria", query = "SELECT l FROM Locales l WHERE l.primaria = :primaria"),
    @NamedQuery(name = "Locales.findBySecundaria", query = "SELECT l FROM Locales l WHERE l.secundaria = :secundaria"),
    @NamedQuery(name = "Locales.findByNumero", query = "SELECT l FROM Locales l WHERE l.numero = :numero"),
    @NamedQuery(name = "Locales.findByPiso", query = "SELECT l FROM Locales l WHERE l.piso = :piso"),
    @NamedQuery(name = "Locales.findByReferencia", query = "SELECT l FROM Locales l WHERE l.referencia = :referencia"),
    @NamedQuery(name = "Locales.findByActividadeconomica", query = "SELECT l FROM Locales l WHERE l.actividadeconomica = :actividadeconomica"),
    @NamedQuery(name = "Locales.findByClavecatastral", query = "SELECT l FROM Locales l WHERE l.clavecatastral = :clavecatastral"),
    @NamedQuery(name = "Locales.findByPatente", query = "SELECT l FROM Locales l WHERE l.patente = :patente"),
    @NamedQuery(name = "Locales.findByFechai", query = "SELECT l FROM Locales l WHERE l.fechai = :fechai"),
    @NamedQuery(name = "Locales.findByNopredio", query = "SELECT l FROM Locales l WHERE l.nopredio = :nopredio"),
    @NamedQuery(name = "Locales.findByNoestablecimiento", query = "SELECT l FROM Locales l WHERE l.noestablecimiento = :noestablecimiento"),
    @NamedQuery(name = "Locales.findByNombrecomercial", query = "SELECT l FROM Locales l WHERE l.nombrecomercial = :nombrecomercial"),
    @NamedQuery(name = "Locales.findByEdificio", query = "SELECT l FROM Locales l WHERE l.edificio = :edificio"),
    @NamedQuery(name = "Locales.findByOficina", query = "SELECT l FROM Locales l WHERE l.oficina = :oficina"),
    @NamedQuery(name = "Locales.findByEmail", query = "SELECT l FROM Locales l WHERE l.email = :email"),
    @NamedQuery(name = "Locales.findByMatriz", query = "SELECT l FROM Locales l WHERE l.matriz = :matriz"),
    @NamedQuery(name = "Locales.findByLongitud", query = "SELECT l FROM Locales l WHERE l.longitud = :longitud"),
    @NamedQuery(name = "Locales.findByLatitud", query = "SELECT l FROM Locales l WHERE l.latitud = :latitud"),
    @NamedQuery(name = "Locales.findByAnopatente", query = "SELECT l FROM Locales l WHERE l.anopatente = :anopatente"),
    @NamedQuery(name = "Locales.findByTelefono1", query = "SELECT l FROM Locales l WHERE l.telefono1 = :telefono1"),
    @NamedQuery(name = "Locales.findByTelefono2", query = "SELECT l FROM Locales l WHERE l.telefono2 = :telefono2"),
    @NamedQuery(name = "Locales.findByArea", query = "SELECT l FROM Locales l WHERE l.area = :area"),
    @NamedQuery(name = "Locales.findByVerificado", query = "SELECT l FROM Locales l WHERE l.verificado = :verificado"),
    @NamedQuery(name = "Locales.findByPlaca", query = "SELECT l FROM Locales l WHERE l.placa = :placa"),
    @NamedQuery(name = "Locales.findByDistrito", query = "SELECT l FROM Locales l WHERE l.distrito = :distrito")})
public class Locales implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "id")
    private Integer id;
    @Size(max = 2147483647)
    @Column(name = "primaria")
    private String primaria;
    @Size(max = 2147483647)
    @Column(name = "secundaria")
    private String secundaria;
    @Size(max = 2147483647)
    @Column(name = "numero")
    private String numero;
    @Size(max = 2147483647)
    @Column(name = "piso")
    private String piso;
    @Size(max = 2147483647)
    @Column(name = "referencia")
    private String referencia;
    @Size(max = 2147483647)
    @Column(name = "actividadeconomica")
    private String actividadeconomica;
    @Size(max = 2147483647)
    @Column(name = "clavecatastral")
    private String clavecatastral;
    @Column(name = "patente")
    private Integer patente;
    @Column(name = "fechai")
    @Temporal(TemporalType.DATE)
    private Date fechai;
    @Column(name = "nopredio")
    private Integer nopredio;
    @Size(max = 2147483647)
    @Column(name = "noestablecimiento")
    private String noestablecimiento;
    @Size(max = 2147483647)
    @Column(name = "nombrecomercial")
    private String nombrecomercial;
    @Size(max = 2147483647)
    @Column(name = "edificio")
    private String edificio;
    @Size(max = 2147483647)
    @Column(name = "oficina")
    private String oficina;
    // @Pattern(regexp="[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?", message="Invalid email")//if the field contains email address consider using this annotation to enforce field validation
    @Size(max = 2147483647)
    @Column(name = "email")
    private String email;
    @Column(name = "matriz")
    private Boolean matriz;
    // @Max(value=?)  @Min(value=?)//if you know range of your decimal fields consider using these annotations to enforce field validation
    @Column(name = "longitud")
    private Float longitud;
    @Column(name = "latitud")
    private Float latitud;
    @Column(name = "anopatente")
    private Integer anopatente;
    @Size(max = 2147483647)
    @Column(name = "telefono1")
    private String telefono1;
    @Size(max = 2147483647)
    @Column(name = "telefono2")
    private String telefono2;
    @Column(name = "area")
    private BigDecimal area;
    @Column(name = "verificado")
    private Boolean verificado;
    @Size(max = 2147483647)
    @Column(name = "placa")
    private String placa;
    @Size(max = 2147483647)
    @Column(name = "distrito")
    private String distrito;
    @OneToMany(mappedBy = "localcomercial")
    private List<Permisos> permisosList;
    @JoinColumn(name = "parroquia", referencedColumnName = "id")
    @ManyToOne
    private Ubicaciongeografica parroquia;
    @JoinColumn(name = "empresa", referencedColumnName = "id")
    @ManyToOne
    private Empresas empresa;
    @JoinColumn(name = "ciu7", referencedColumnName = "id")
    @ManyToOne
    private Ciiunivel7 ciu7;

    public Locales() {
    }

    public Locales(Integer id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getPrimaria() {
        return primaria;
    }

    public void setPrimaria(String primaria) {
        this.primaria = primaria;
    }

    public String getSecundaria() {
        return secundaria;
    }

    public void setSecundaria(String secundaria) {
        this.secundaria = secundaria;
    }

    public String getNumero() {
        return numero;
    }

    public void setNumero(String numero) {
        this.numero = numero;
    }

    public String getPiso() {
        return piso;
    }

    public void setPiso(String piso) {
        this.piso = piso;
    }

    public String getReferencia() {
        return referencia;
    }

    public void setReferencia(String referencia) {
        this.referencia = referencia;
    }

    public String getActividadeconomica() {
        return actividadeconomica;
    }

    public void setActividadeconomica(String actividadeconomica) {
        this.actividadeconomica = actividadeconomica;
    }

    public String getClavecatastral() {
        return clavecatastral;
    }

    public void setClavecatastral(String clavecatastral) {
        this.clavecatastral = clavecatastral;
    }

    public Integer getPatente() {
        return patente;
    }

    public void setPatente(Integer patente) {
        this.patente = patente;
    }

    public Date getFechai() {
        return fechai;
    }

    public void setFechai(Date fechai) {
        this.fechai = fechai;
    }

    public Integer getNopredio() {
        return nopredio;
    }

    public void setNopredio(Integer nopredio) {
        this.nopredio = nopredio;
    }

    public String getNoestablecimiento() {
        return noestablecimiento;
    }

    public void setNoestablecimiento(String noestablecimiento) {
        this.noestablecimiento = noestablecimiento;
    }

    public String getNombrecomercial() {
        return nombrecomercial;
    }

    public void setNombrecomercial(String nombrecomercial) {
        this.nombrecomercial = nombrecomercial;
    }

    public String getEdificio() {
        return edificio;
    }

    public void setEdificio(String edificio) {
        this.edificio = edificio;
    }

    public String getOficina() {
        return oficina;
    }

    public void setOficina(String oficina) {
        this.oficina = oficina;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Boolean getMatriz() {
        return matriz;
    }

    public void setMatriz(Boolean matriz) {
        this.matriz = matriz;
    }

    public Float getLongitud() {
        return longitud;
    }

    public void setLongitud(Float longitud) {
        this.longitud = longitud;
    }

    public Float getLatitud() {
        return latitud;
    }

    public void setLatitud(Float latitud) {
        this.latitud = latitud;
    }

    public Integer getAnopatente() {
        return anopatente;
    }

    public void setAnopatente(Integer anopatente) {
        this.anopatente = anopatente;
    }

    public String getTelefono1() {
        return telefono1;
    }

    public void setTelefono1(String telefono1) {
        this.telefono1 = telefono1;
    }

    public String getTelefono2() {
        return telefono2;
    }

    public void setTelefono2(String telefono2) {
        this.telefono2 = telefono2;
    }

    public BigDecimal getArea() {
        return area;
    }

    public void setArea(BigDecimal area) {
        this.area = area;
    }

    public Boolean getVerificado() {
        return verificado;
    }

    public void setVerificado(Boolean verificado) {
        this.verificado = verificado;
    }

    public String getPlaca() {
        return placa;
    }

    public void setPlaca(String placa) {
        this.placa = placa;
    }

    public String getDistrito() {
        return distrito;
    }

    public void setDistrito(String distrito) {
        this.distrito = distrito;
    }

    @XmlTransient
    public List<Permisos> getPermisosList() {
        return permisosList;
    }

    public void setPermisosList(List<Permisos> permisosList) {
        this.permisosList = permisosList;
    }

    public Ubicaciongeografica getParroquia() {
        return parroquia;
    }

    public void setParroquia(Ubicaciongeografica parroquia) {
        this.parroquia = parroquia;
    }

    public Empresas getEmpresa() {
        return empresa;
    }

    public void setEmpresa(Empresas empresa) {
        this.empresa = empresa;
    }

    public Ciiunivel7 getCiu7() {
        return ciu7;
    }

    public void setCiu7(Ciiunivel7 ciu7) {
        this.ciu7 = ciu7;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (id != null ? id.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Locales)) {
            return false;
        }
        Locales other = (Locales) object;
        if ((this.id == null && other.id != null) || (this.id != null && !this.id.equals(other.id))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "com.pruebaes.entidades.Locales[ id=" + id + " ]";
    }
    
}
